﻿namespace ExamV5.ManagSys
{
    using ExamV5;
    using System;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using System.IO;
    using System.Text;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;

    public class FrmMemberList : Page
    {
        protected Button butExp;
        protected Button butQuery;
        protected GridView DataGridInfo;
        protected DropDownList DDLDept;
        protected DropDownList DDLQuery;
        protected DropDownList DDLUPDept;
        protected HtmlForm form1;
        private HttpCookie httpCookie_0 = null;
        private HttpCookie httpCookie_1 = null;
        private HttpCookie httpCookie_2 = null;
        private HttpCookie httpCookie_3 = null;
        protected Label labRescordCount;
        protected Label labTip;
        protected LinkButton LBFirstPage;
        protected LinkButton LBLastPage;
        protected LinkButton LBNextPage;
        protected LinkButton LBPrevPage;
        private PublicFun publicFun_0 = new PublicFun();
        protected ScriptManager SM;
        protected TextBox txtQuery;
        protected UpdatePanel UPPart;

        protected void butExp_Click(object sender, EventArgs e)
        {
            if (this.ViewState["UserPower"].ToString() == "Y")
            {
                try
                {
                    string cmdText = "";
                    string path = base.Server.MapPath("../") + @"\PublicFile\ExpUserMemberInfo" + this.httpCookie_3.Value + ".csv";
                    string str3 = "";
                    if (File.Exists(path))
                    {
                        File.Delete(path);
                    }
                    StreamWriter writer = new StreamWriter(path, true, Encoding.GetEncoding("GB2312"));
                    writer.WriteLine("准考证号,用户姓名,用户性别,所属部门,所属职务,所属学历,手机号码,身份证号,出生年月,参加工作,岗位名称,岗位级别,用户级别,会员级别,会员积分,充值时间");
                    if (!(this.ViewState["UserPower"].ToString() == "Y"))
                    {
                        cmdText = "select b.UPID,a.UserSex,a.JoinWorkDate,a.UserGWName,a.UserGWLevel,a.UserSFZH,a.UserEdu,a.UserAge,a.UserSFZH,a.HandCombNO,a.DeptID,a.ID,a.UserCode,a.UserName,b.DeptName,a.Worker,UserLevel=case a.UserLevel when 'A' then '考生' when 'B' then '分管员'  when 'C' then '管理员' end,a.UserFen,a.UpdateTime,c.LevelName from UserInfo a,DeptInfo b,MemberLevel c where c.ID=a.UserMember and  b.ID=0 and a.DeptID=b.ID ";
                        base.Response.Write("<script>alert('用户管理权限未开放！')</script>");
                    }
                    else
                    {
                        cmdText = "select b.UPID,a.UserSex,a.JoinWorkDate,a.UserGWName,a.UserGWLevel,a.UserSFZH,a.UserEdu,a.UserAge,a.UserSFZH,a.HandCombNO,a.DeptID,a.ID,a.UserCode,a.UserName,b.DeptName,a.Worker,UserLevel=case a.UserLevel when 'A' then '考生' when 'B' then '分管员'  when 'C' then '管理员' end,a.UserFen,a.UpdateTime,c.LevelName from UserInfo a,DeptInfo b,MemberLevel c where c.ID=a.UserMember and  a.DeptID=b.ID ";
                    }
                    if (this.DDLDept.SelectedItem.Value != "0")
                    {
                        cmdText = cmdText + " and a.DeptID in (select b.ID from DeptInfo b where " + this.publicFun_0.GetManagDeptID(this.publicFun_0.CheckString(this.DDLDept.SelectedItem.Value)) + ")";
                    }
                    if (this.txtQuery.Text.Trim() != "")
                    {
                        if (!(this.DDLQuery.SelectedItem.Value.Trim() == "UserLevel"))
                        {
                            cmdText = cmdText + " and " + this.publicFun_0.CheckString(this.DDLQuery.SelectedItem.Value) + " like '%" + this.publicFun_0.CheckString(this.txtQuery.Text) + "%'";
                        }
                        else
                        {
                            switch (this.txtQuery.Text.Trim())
                            {
                                case "考生":
                                    cmdText = cmdText + " and a.UserLevel='A'";
                                    break;

                                case "分管员":
                                    cmdText = cmdText + " and a.UserLevel='B'";
                                    break;

                                case "管理员":
                                    cmdText = cmdText + " and a.UserLevel='C'";
                                    break;
                            }
                        }
                    }
                    cmdText = cmdText + " and a.Flag='A' and UserCode is not null order by " + this.ViewState["SortFiled"].ToString() + this.ViewState["SortType"].ToString();
                    SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ConnectionString);
                    connection.Open();
                    SqlCommand command = new SqlCommand(cmdText, connection);
                    SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
                    while (reader.Read())
                    {
                        str3 = "";
                        str3 = ((str3 + reader["UserCode"].ToString().Trim() + "\x00b7,") + reader["UserName"].ToString().Trim() + ",") + reader["UserSex"].ToString().Trim() + ",";
                        if (reader["UPID"].ToString().Trim() != "0")
                        {
                            str3 = str3 + this.publicFun_0.GetValues("select DeptName from DeptInfo where ID=" + reader["UPID"].ToString().Trim(), "DeptName") + "＼" + reader["DeptName"].ToString().Trim() + ",";
                        }
                        else
                        {
                            str3 = str3 + reader["DeptName"].ToString().Trim() + ",";
                        }
                        str3 = (((((((((((str3 + reader["Worker"].ToString().Trim() + ",") + reader["UserEdu"].ToString().Trim() + ",") + reader["HandCombNO"].ToString().Trim() + ",") + reader["UserSFZH"].ToString().Trim() + "’,") + reader["UserAge"].ToString().Trim() + ",") + reader["JoinWorkDate"].ToString().Trim() + ",") + reader["UserGWName"].ToString().Trim() + ",") + reader["UserGWLevel"].ToString().Trim() + ",") + reader["UserLevel"].ToString().Trim() + ",") + reader["LevelName"].ToString().Trim() + ",") + reader["UserFen"].ToString().Trim() + ",") + reader["UpdateTime"].ToString().Trim() + ",";
                        writer.WriteLine(str3);
                    }
                    reader.Close();
                    command.Dispose();
                    connection.Close();
                    connection.Dispose();
                    writer.Flush();
                    writer.Close();
                    this.labTip.Text = " 导出成功！单击【<a href='../FrmDownLoad.aspx?FileName=ExpUserMemberInfo" + this.httpCookie_3.Value + ".csv' target=_blank><font color=red>下载</font></a>】进行保存";
                }
                catch
                {
                    ScriptManager.RegisterStartupScript(this.UPPart, this.Page.GetType(), "BExpErrTip", @"alert('导出数据失败！\n\n请将PublicFile目录设置为Everyone用户可修改权限！')", true);
                }
            }
        }

        protected void butQuery_Click(object sender, EventArgs e)
        {
            this.DataGridInfo.PageIndex = 0;
            this.method_0();
        }

        protected void DataGridInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            this.DataGridInfo.PageIndex = e.NewPageIndex;
            this.method_0();
        }

        protected void DataGridInfo_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            this.DataGridInfo.EditIndex = -1;
            this.method_0();
        }

        protected void DataGridInfo_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.DataItemIndex == -1)
            {
                this.DataGridInfo.Attributes.Add("oldValue", "#FFFFFF");
                this.DataGridInfo.Attributes.Add("singleValue", "#FFFFFF");
            }
            else
            {
                e.Row.Attributes.Add("onmouseover", "this.bgColor='#F6F5F5'");
                if ((e.Row.DataItemIndex % 2) != 0)
                {
                    e.Row.Attributes.Add("bgcolor", "#FFFFFF");
                    e.Row.Attributes.Add("onmouseout", "this.bgColor=document.getElementById('DataGridInfo').getAttribute('oldValue')");
                }
                else
                {
                    e.Row.Attributes.Add("bgcolor", "#FFFFFF");
                    e.Row.Attributes.Add("onmouseout", "this.bgColor=document.getElementById('DataGridInfo').getAttribute('singleValue')");
                }
            }
            if ((e.Row.RowIndex != -1) && !((e.Row.RowState != DataControlRowState.Edit) ? (e.Row.RowState != (DataControlRowState.Edit | DataControlRowState.Alternate)) : false))
            {
                TextBox box = (TextBox) e.Row.Cells[5].Controls[0];
                box.Width = 60;
                box.CssClass = "text";
                box.Height = 0x13;
                DropDownList list = (DropDownList) e.Row.Cells[4].FindControl("DDLLevelType");
                list.DataValueField = "ID";
                list.DataTextField = "LevelName";
                list.DataSource = this.publicFun_0.RetrunDataView("select ID,LevelName from MemberLevel order by ID");
                list.DataBind();
                list.SelectedIndex = -1;
                list.Items.FindByValue(this.DataGridInfo.DataKeys[e.Row.RowIndex]["UserMember"].ToString()).Selected = true;
            }
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                LinkButton button = (LinkButton) e.Row.Cells[8].FindControl("LBDel");
                button.Attributes.Add("onclick", "javascript:{if(confirm('确定要充值吗？')==false) return false;}");
                if (this.DataGridInfo.DataKeys[e.Row.RowIndex]["UPID"].ToString().Replace("&nbsp;", "") != "0")
                {
                    e.Row.Cells[2].Text = this.publicFun_0.GetValues("select DeptName from DeptInfo where ID=" + this.publicFun_0.CheckString(this.DataGridInfo.DataKeys[e.Row.RowIndex]["UPID"].ToString().Replace("&nbsp;", "")), "DeptName") + "＼" + e.Row.Cells[2].Text;
                }
            }
            if (e.Row.RowType != DataControlRowType.Header)
            {
                return;
            }
            if (this.ViewState["SortType"].ToString() != " Desc")
            {
                switch (this.ViewState["SortFiled"].ToString())
                {
                    case "UserCode":
                        e.Row.Cells[0].Controls.Add(new LiteralControl("↓"));
                        return;

                    case "UserName":
                        e.Row.Cells[1].Controls.Add(new LiteralControl("↓"));
                        return;
                }
                e.Row.Cells[0].Controls.Add(new LiteralControl("↓"));
                return;
            }
            string str = this.ViewState["SortFiled"].ToString();
            if (str != null)
            {
                if (!(str == "UserCode"))
                {
                    if (!(str == "UserName"))
                    {
                        goto Label_0492;
                    }
                    e.Row.Cells[1].Controls.Add(new LiteralControl("↑"));
                }
                else
                {
                    e.Row.Cells[0].Controls.Add(new LiteralControl("↑"));
                }
                return;
            }
        Label_0492:
            e.Row.Cells[0].Controls.Add(new LiteralControl("↑"));
        }

        protected void DataGridInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string str = this.DataGridInfo.DataKeys[e.RowIndex]["ID"].ToString();
            int num = Convert.ToInt32(this.DataGridInfo.DataKeys[e.RowIndex]["LevelFen"].ToString());
            this.publicFun_0.ExecuteSql(string.Concat(new object[] { "update UserInfo set UserFen=UserFen+", num, ",UpdateTime=getdate() where ID='", str, "';insert into SysLogInfo(LogDisp,EditUser,EditUserCode) values('对会员[", this.DataGridInfo.DataKeys[e.RowIndex]["UserCode"].ToString(), "]进行充值操作！','", this.httpCookie_1.Value, "','", this.httpCookie_0.Value, "')" }));
            this.method_0();
        }

        protected void DataGridInfo_RowEditing(object sender, GridViewEditEventArgs e)
        {
            this.DataGridInfo.EditIndex = e.NewEditIndex;
            this.method_0();
        }

        protected void DataGridInfo_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            try
            {
                int num = 0;
                DropDownList list = (DropDownList) this.DataGridInfo.Rows[e.RowIndex].Cells[4].FindControl("DDLLevelType");
                TextBox box = (TextBox) this.DataGridInfo.Rows[e.RowIndex].Cells[5].Controls[0];
                num = Convert.ToInt32(box.Text);
                this.publicFun_0.ExecuteSql(string.Concat(new object[] { "update UserInfo set UserMember=", list.SelectedItem.Value, ",UserFen=", num, ",UpdateTime=getdate() where ID='", this.DataGridInfo.DataKeys[e.RowIndex]["ID"].ToString(), "';insert into SysLogInfo(LogDisp,EditUser,EditUserCode) values('对会员[", this.DataGridInfo.DataKeys[e.RowIndex]["UserCode"].ToString(), "]进行级别更改操作！','", this.httpCookie_1.Value, "','", this.httpCookie_0.Value, "')" }));
                this.DataGridInfo.EditIndex = -1;
                this.method_0();
            }
            catch
            {
            }
        }

        protected void DataGridInfo_Sorting(object sender, GridViewSortEventArgs e)
        {
            string sortExpression = e.SortExpression;
            if (!(this.ViewState["SortFiled"].ToString() == sortExpression))
            {
                this.ViewState["SortFiled"] = e.SortExpression;
            }
            else if (!(this.ViewState["SortType"].ToString() == " Desc"))
            {
                this.ViewState["SortType"] = " Desc";
            }
            else
            {
                this.ViewState["SortType"] = " ASC";
            }
            this.method_0();
        }

        protected void DDLDept_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.DataGridInfo.PageIndex = 0;
            this.method_0();
        }

        protected void DDLUPDept_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.DDLDept.Items.Clear();
            this.publicFun_0.LoadDeptInfo(this.DDLDept, this.DDLUPDept.SelectedItem.Value, this.httpCookie_0.Value, "B");
            if (this.DDLDept.Items.Count == 0)
            {
                if (this.DDLUPDept.SelectedItem.Value == "0")
                {
                    ListItem item2 = new ListItem("--所有部门--", "0");
                    this.DDLDept.Items.Insert(0, item2);
                }
                else
                {
                    ListItem item = new ListItem(this.DDLUPDept.SelectedItem.Text, this.DDLUPDept.SelectedItem.Value);
                    this.DDLDept.Items.Add(item);
                }
            }
        }

        protected void LBFirstPage_Click(object sender, EventArgs e)
        {
            this.DataGridInfo.PageIndex = 0;
            this.method_0();
        }

        protected void LBLastPage_Click(object sender, EventArgs e)
        {
            if (this.DataGridInfo.PageCount > 0)
            {
                this.DataGridInfo.PageIndex = this.DataGridInfo.PageCount - 1;
                this.method_0();
            }
        }

        protected void LBNextPage_Click(object sender, EventArgs e)
        {
            if (this.DataGridInfo.PageIndex < (this.DataGridInfo.PageCount - 1))
            {
                this.DataGridInfo.PageIndex++;
                this.method_0();
            }
        }

        protected void LBPrevPage_Click(object sender, EventArgs e)
        {
            if (this.DataGridInfo.PageIndex > 0)
            {
                this.DataGridInfo.PageIndex--;
                this.method_0();
            }
        }

        private void method_0()
        {
            string selectCommandText = "";
            if (this.ViewState["UserPower"].ToString() == "Y")
            {
                selectCommandText = "select a.HandCombNO,b.UPID,a.ID,a.UserCode,a.UserName,b.DeptName,a.Worker,a.UserFen,a.UpdateTime,c.LevelName,c.LevelFen,a.UserMember  from UserInfo a,DeptInfo b,MemberLevel c where c.ID=a.UserMember and  a.DeptID=b.ID ";
            }
            else
            {
                selectCommandText = "select a.HandCombNO,b.UPID,a.ID,a.UserCode,a.UserName,b.DeptName,a.Worker,a.UserFen,a.UpdateTime,c.LevelName,c.LevelFen,a.UserMember  from UserInfo a,DeptInfo b,MemberLevel c where c.ID=a.UserMember and  b.ID=0 and a.DeptID=b.ID ";
                ScriptManager.RegisterStartupScript(this.UPPart, this.Page.GetType(), "BPower", "alert('用户管理权限未开放！')", true);
            }
            if (this.DDLDept.SelectedItem.Value != "0")
            {
                selectCommandText = selectCommandText + " and a.DeptID in (select b.ID from DeptInfo b where " + this.publicFun_0.GetManagDeptID(this.publicFun_0.CheckString(this.DDLDept.SelectedItem.Value)) + ")";
            }
            if (this.txtQuery.Text.Trim() != "")
            {
                if (this.DDLQuery.SelectedItem.Value.Trim() == "UserLevel")
                {
                    switch (this.txtQuery.Text.Trim())
                    {
                        case "考生":
                            selectCommandText = selectCommandText + " and a.UserLevel='A'";
                            break;

                        case "分管员":
                            selectCommandText = selectCommandText + " and a.UserLevel='B'";
                            break;

                        case "管理员":
                            selectCommandText = selectCommandText + " and a.UserLevel='C'";
                            break;
                    }
                }
                else
                {
                    selectCommandText = selectCommandText + " and " + this.publicFun_0.CheckString(this.DDLQuery.SelectedItem.Value) + " like '%" + this.publicFun_0.CheckString(this.txtQuery.Text) + "%'";
                }
            }
            selectCommandText = selectCommandText + " and a.Flag='A' and UserCode is not null order by " + this.ViewState["SortFiled"].ToString() + this.ViewState["SortType"].ToString();
            SqlConnection selectConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ConnectionString);
            SqlDataAdapter adapter = new SqlDataAdapter(selectCommandText, selectConnection);
            DataSet dataSet = new DataSet();
            adapter.Fill(dataSet, "DataInfo");
            this.DataGridInfo.DataSource = dataSet.Tables["DataInfo"].DefaultView;
            this.DataGridInfo.DataBind();
            this.labRescordCount.Text = "总共&nbsp;<font color='#0000C0'><b>" + dataSet.Tables["DataInfo"].Rows.Count.ToString() + "</b></font>&nbsp;条记录&nbsp;<font color='#0000C0'><b>" + Convert.ToString((int) (this.DataGridInfo.PageIndex + 1)) + "/" + this.DataGridInfo.PageCount.ToString() + "</b></font>&nbsp;页&nbsp;";
            adapter.Dispose();
            selectConnection.Close();
            selectConnection.Dispose();
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            this.httpCookie_0 = new HttpCookie("ExamUserCode");
            this.httpCookie_0 = base.Request.Cookies["ExamUserCode"];
            this.httpCookie_1 = new HttpCookie("ExamUserName");
            this.httpCookie_1 = base.Request.Cookies["ExamUserName"];
            this.httpCookie_2 = new HttpCookie("ExamUserLevel");
            this.httpCookie_2 = base.Request.Cookies["ExamUserLevel"];
            this.httpCookie_3 = new HttpCookie("ExamDeptID");
            this.httpCookie_3 = base.Request.Cookies["ExamDeptID"];
            if (!((this.httpCookie_0 != null) ? !(this.httpCookie_0.Value == "") : false))
            {
                base.Response.Write("<script language=javascript>top.location.href='../Index.htm';self.close();</script>");
            }
            else
            {
                base.Response.Cache.SetCacheability(HttpCacheability.NoCache);
                base.Response.Cache.SetNoStore();
                this.httpCookie_0.Value = this.publicFun_0.CheckString(base.Server.UrlDecode(this.httpCookie_0.Value));
                this.httpCookie_1.Value = this.publicFun_0.CheckString(base.Server.UrlDecode(this.httpCookie_1.Value));
                this.httpCookie_2.Value = this.publicFun_0.CheckString(base.Server.UrlDecode(this.httpCookie_2.Value));
                this.httpCookie_3.Value = this.publicFun_0.CheckString(base.Server.UrlDecode(this.httpCookie_3.Value));
                if (Convert.ToInt32(ConfigurationManager.ConnectionStrings["OnlineNum"].ConnectionString) == 0x3a)
                {
                    ScriptManager.RegisterStartupScript(this.UPPart, this.Page.GetType(), "BTHB", "alert('该版本为特惠版，此功能未开放！')", true);
                }
                else if (!base.IsPostBack)
                {
                    if (this.publicFun_0.ReturnPaperData() == "Yes")
                    {
                        this.txtQuery.Attributes.Add("onkeydown", "SubmitKeyClick('butQuery');");
                        this.ViewState["UserPower"] = this.publicFun_0.GetValues("select ManagUser from UserPower where UserCode='" + this.httpCookie_0.Value + "'", "ManagUser");
                        this.DDLUPDept.DataTextField = "DeptName";
                        this.DDLUPDept.DataValueField = "ID";
                        if (!(this.httpCookie_2.Value == "C"))
                        {
                            this.DDLUPDept.DataSource = this.publicFun_0.RetrunDataView("select ID,DeptName from DeptInfo where ID=" + this.httpCookie_3.Value + " order by SortInfo,ID");
                        }
                        else
                        {
                            this.DDLUPDept.DataSource = this.publicFun_0.RetrunDataView("select ID,DeptName from DeptInfo where UPID=0  order by SortInfo,ID");
                        }
                        this.DDLUPDept.DataBind();
                        if (!(this.httpCookie_2.Value == "C"))
                        {
                            this.DDLDept.Items.Clear();
                            this.publicFun_0.LoadDeptInfo(this.DDLDept, this.DDLUPDept.SelectedItem.Value, this.httpCookie_0.Value, "B");
                            if (this.DDLDept.Items.Count == 0)
                            {
                                ListItem item = new ListItem(this.DDLUPDept.SelectedItem.Text, this.DDLUPDept.SelectedItem.Value);
                                this.DDLDept.Items.Add(item);
                            }
                        }
                        else
                        {
                            this.DDLUPDept.SelectedIndex = -1;
                            this.DDLDept.SelectedIndex = -1;
                            ListItem item2 = new ListItem("--所有单位--", "0");
                            ListItem item3 = new ListItem("--所有部门--", "0");
                            this.DDLDept.Items.Insert(0, item3);
                            this.DDLUPDept.Items.Insert(0, item2);
                        }
                        this.ViewState["SortFiled"] = "UserCode";
                        this.ViewState["SortType"] = " Desc";
                        this.method_0();
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(this.UPPart, this.Page.GetType(), "BCheck", "alert('此版本暂未授权,请拔打(0)13870606104手机号进行授权！')", true);
                    }
                }
            }
        }
    }
}

